package modelo;

import java.sql.ResultSet;
import java.sql.SQLException;

public class ModeloIngredientes extends ModeloBD {
	
	private String id;
	private int stock;
	private String descripcion;
	private double costo;

	
	
	public ModeloIngredientes() {
		super();
	}

	public ModeloIngredientes(String id, String descripcion,  int stock,
			double costo) {
		super();
		this.id = id;
		this.descripcion = descripcion;
		this.stock = stock;
		this.costo = costo;
	}
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public int getStock() {
		return stock;
	}
	public void setStock(int stock) {
		this.stock = stock;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public double getCosto() {
		return costo;
	}
	public void setCosto(double costo) {
		this.costo = costo;
	}
	
public boolean registar(ModeloIngredientes ingredientes){
				
	    abrirConexion() ;
		String sql= "INSERT INTO ingrediente (id, descripcion, stock, costo) VALUES ('"+ingredientes.id+"','"+ingredientes.descripcion+"','"+ingredientes.stock+"','"+ingredientes.costo+"')";
			
		boolean sw=cargarIUDGenerico(sql);
		cerrarConexion();
		return sw;
		
	}
	
	public boolean eliminar(){
		abrirConexion();
		String sql ="DELETE FROM Ingrediente WHERE  id = '" + getId() + "'";
		boolean sw =cargarIUDGenerico(sql);
		cerrarConexion();
		return sw;
	}

	public boolean modificar(){
		
		abrirConexion();
		String sql = "UPDATE ingrediente SET descripcion ='" +getDescripcion()+"', stock ='" +getStock()+"', costo='" +getCosto()+"' WHERE id = '"+getId() + "'";		
		boolean sw=cargarIUDGenerico(sql);
		cerrarConexion();
		return sw;
	}
	
	public void actualizarStock(String codigo, int stockActual){
		
		abrirConexion();
		String sql = "UPDATE ingrediente SET stock = " + stockActual + " WHERE id = '"+ codigo + "'";		
		@SuppressWarnings("unused")
		boolean sw=cargarIUDGenerico(sql);
		cerrarConexion();
		
	}
	
	public void aumentarStock(String codigo, int stockActual){
		
		abrirConexion();
		String sql = "UPDATE ingrediente SET stock = stock + " + stockActual + " WHERE id = '"+ codigo + "'";		
		@SuppressWarnings("unused")
		boolean sw=cargarIUDGenerico(sql);
		cerrarConexion();
		
	}

	public ModeloIngredientes existe(String id){
		
		
		ModeloIngredientes encontrado = null;		
		String sql = "SELECT * FROM ingrediente WHERE id = '" + id +"'";
		abrirConexion();
		
		java.sql.ResultSet rs= cargarSGenerico(sql);
		
		try {
			
			while (rs.next()){				
				encontrado = new ModeloIngredientes(rs.getString("id"),rs.getString("descripcion"), rs.getInt("stock"), rs.getDouble("costo"));
					
				}
			
							
		} catch (SQLException e) {
			e.printStackTrace();

		cerrarConexion();
		}
		return encontrado;
	}
	
	
	public ResultSet listar(){
		  
		ResultSet rs = null;
		abrirConexion();
		String sql = "SELECT * FROM ingrediente";
		rs = cargarSGenerico(sql);
		return rs; 
	}
	
}
